program ejercicio2


real(kind=4),dimension(20)::simple
real(kind=8),dimension(20)::doble
real(kind=4)::simpleh=1._4
real(kind=8)::dobleh=1._8
integer::i


interface
	subroutine calcula(simpleh,dobleh,simple,doble,i)
		real(kind=4),dimension(20)::simple
		real(kind=8),dimension(20)::doble	
		real(kind=4)::simpleh
		real(kind=8)::dobleh
		integer::i
	end subroutine calcula

	subroutine escribe(simple,doble)	
		real(kind=4),dimension(20)::simple
		real(kind=8),dimension(20)::doble	
	end subroutine escribe

end interface

	
	do i=1,20,1
		simpleh=simpleh*0.1_4
		dobleh=dobleh*0.1_8
		call calcula(simpleh,dobleh,simple,doble,i)
	end do
	call escribe(simple,doble)

end program



	subroutine calcula(simpleh,dobleh,simple,doble,i)
		real(kind=4),dimension(20)::simple
		real(kind=8),dimension(20)::doble	
		real(kind=4)::simpleh
		real(kind=8)::dobleh
		integer::i
			simple(i)=(log(10._4+simpleh)-log(10._4))/simpleh
			doble(i)=(log(10._8+dobleh)-log(10._8))/dobleh
	end subroutine calcula

	subroutine escribe(simple,doble)	
		real(kind=4),dimension(20)::simple
		real(kind=8),dimension(20)::doble	
		integer::j
			print*,' simple',' ------------------------ ','doble'
		do j=1,20,1
			print*,simple(j),' -------- ',doble(j)
		end do
		
	end subroutine escribe
















